在 Linux/Unix 環境中,最常見的除錯器之一是 GDB (GNU Debugger),除錯器 (Debugger) 是一種程式開發工具,可以幫助程式設計師觀察程式的執行過程,找出程式中可能存在的錯誤 (Bug),包含以下功能:
其中 GDB 常用指令介紹:
當程式執行到 main 函式的第一行時停下來
break main
break checkFlag
continue (縮寫 c)
讓程式「繼續執行」直到遇到下一個斷點。
假設已經在 main 設了斷點,程式一開始就會停在 main 開頭,此時輸入 continue,它會繼續跑執行,直到遇到所設的下一個斷點 (比如 checkFlag)。
continue
ni (next instruction)
執行下一條指令,但不會跳進函式內部。
ni (next instruction)
逐行,但忽略函式細節
ni
si (step instruction)
si =
例如:
foo(); // 呼叫函式
使用 ni,它會把 foo() 整個執行完,直接到下一行
使用 si,它會跳進去 foo() 裡面看裡頭的細節